rns.moscow 🟥 [git]
htdocs/api/log.php 8d64759ef727bd9bee11859fcb348dafd96e1d99 (8d64759e) Text, 1.23 KB
Tff7b72<?php
T8b949e// Raw flash event log for the /stats/ page's scrolling log + date filter.
T8b949e// Returns individual events (newest first) within [from, to], unlike
T8b949e// stats.php which only returns aggregate counts.
Tff7b72require Tff7b72__DIR__ Tff7b72. Ta5d6ff'/db.php'Tb4b4b4;
Tffa657headerTb4b4b4(Ta5d6ff'Content-Type: application/json'Tb4b4b4);
Tffa657headerTb4b4b4(Ta5d6ff'Cache-Control: no-store'Tb4b4b4);
Tff7b72if Tb4b4b4(Te6edf3$_SERVERTb4b4b4[Ta5d6ff'REQUEST_METHOD'Tb4b4b4] Tff7b72!== Ta5d6ff'GET'Tb4b4b4) Tb4b4b4{
Tffa657http_response_codeTb4b4b4(T79c0ff405Tb4b4b4);
Tff7b72echo Tffa657json_encodeTb4b4b4([Ta5d6ff'error' Tff7b72=> Ta5d6ff'method not allowed'Tb4b4b4]);
Tff7b72exitTb4b4b4;
Tb4b4b4}
Te6edf3$now Tff7b72= Tffa657timeTb4b4b4();
Te6edf3$from Tff7b72= Tffa657issetTb4b4b4(Te6edf3$_GETTb4b4b4[Ta5d6ff'from'Tb4b4b4]) Tff7b72? Tb4b4b4(Te6edf3intTb4b4b4)Te6edf3$_GETTb4b4b4[Ta5d6ff'from'Tb4b4b4] Tff7b72: Tb4b4b4(Te6edf3$now Tff7b72- T79c0ff7 Tff7b72* T79c0ff86400Tb4b4b4);
Te6edf3$to Tff7b72= Tffa657issetTb4b4b4(Te6edf3$_GETTb4b4b4[Ta5d6ff'to'Tb4b4b4]) Tff7b72? Tb4b4b4(Te6edf3intTb4b4b4)Te6edf3$_GETTb4b4b4[Ta5d6ff'to'Tb4b4b4] Tff7b72: Te6edf3$nowTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3$from Tff7b72> Te6edf3$toTb4b4b4) Tb4b4b4{
Tb4b4b4[Te6edf3$fromTb4b4b4, Te6edf3$toTb4b4b4] Tff7b72= Tb4b4b4[Te6edf3$toTb4b4b4, Te6edf3$fromTb4b4b4];
Tb4b4b4}
Te6edf3$limit Tff7b72= T79c0ff500Tb4b4b4;
Te6edf3$pdo Tff7b72= Te6edf3stats_dbTb4b4b4();
Te6edf3$stmt Tff7b72= Te6edf3$pdoTff7b72->Te6edf3prepareTb4b4b4(
Ta5d6ff'SELECT device, variant, platform, ts FROM flashes
WHERE ts >= ? AND ts <= ? ORDER BY ts DESC LIMIT ?'
Tb4b4b4);
Te6edf3$stmtTff7b72->Te6edf3bindValueTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3$fromTb4b4b4, Te6edf3PDOTff7b72::Te6edf3PARAM_INTTb4b4b4);
Te6edf3$stmtTff7b72->Te6edf3bindValueTb4b4b4(T79c0ff2Tb4b4b4, Te6edf3$toTb4b4b4, Te6edf3PDOTff7b72::Te6edf3PARAM_INTTb4b4b4);
Te6edf3$stmtTff7b72->Te6edf3bindValueTb4b4b4(T79c0ff3Tb4b4b4, Te6edf3$limit Tff7b72+ T79c0ff1Tb4b4b4, Te6edf3PDOTff7b72::Te6edf3PARAM_INTTb4b4b4);
Te6edf3$stmtTff7b72->Te6edf3executeTb4b4b4();
Te6edf3$rows Tff7b72= Te6edf3$stmtTff7b72->Te6edf3fetchAllTb4b4b4(Te6edf3PDOTff7b72::Te6edf3FETCH_ASSOCTb4b4b4);
Te6edf3$truncated Tff7b72= Tffa657countTb4b4b4(Te6edf3$rowsTb4b4b4) Tff7b72> Te6edf3$limitTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3$truncatedTb4b4b4) Tb4b4b4{
Te6edf3$rows Tff7b72= Tffa657array_sliceTb4b4b4(Te6edf3$rowsTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3$limitTb4b4b4);
Tb4b4b4}
Tff7b72echo Tffa657json_encodeTb4b4b4([
Ta5d6ff'from' Tff7b72=> Te6edf3$fromTb4b4b4,
Ta5d6ff'to' Tff7b72=> Te6edf3$toTb4b4b4,
Ta5d6ff'truncated' Tff7b72=> Te6edf3$truncatedTb4b4b4,
Ta5d6ff'events' Tff7b72=> Te6edf3$rowsTb4b4b4,
Tb4b4b4]);
Served by rngit 1.4.2 - Generated in 0.12s